For a conventional redundant array of inexpensive drives (RAID), a driver takes time to detect when a drive is removed. If the drive is removed from the RAID configuration, the driver will wait for an IO time out from the operating system and later cause a controller to reset. Such a time out and reset is time consuming and freezes the system during the process.
Conventional approaches to detect a drive being removed from a RAID configuration often use a soft RAID solution. The soft RAID solution depends on an operating system (OS) layer IO time out to detect a drive removal. More specifically, an operating system subsystem layer (such as a Linux SCSI layer) typically has a time out period of more than 30 seconds. In some Linux kernels (or SCSI subsystem layers), a time out period can be up to 90 seconds. Since a soft RAID configuration depends on the Linux SCSI layer time out to determine if the drive is removed, the driver will take more time to detect such a drive removal. Conventional solutions are not able to prevent an IO timeout if a drive is removed from a healthy RAID configuration.
It would be desirable to implement a proactive driver response in an operating system that detects if a drive is removed from a drive array.